#ifndef PTGRAPHICRENDERLIGHTAMBIENT_H
#define PTGRAPHICRENDERLIGHTAMBIENT_H

#include "../Device/PTDevice.h"

enum class PTGraphicLightAmbient_Status
{
	SUCCESS
};

struct PTGraphicLightAmbient_Iutput
{
	IPTGraphicConstantBufferView *pViewport;
	IPTGraphicConstantBufferView *pPerspective;
	IPTGraphicConstantBufferView *pOcclusion;
	IPTGraphicConstantBufferView *pLight;
	IPTGraphicShaderResourceView *pGBufferDepth;
	IPTGraphicShaderResourceView *pGBufferNormal;
	IPTGraphicShaderResourceView *pGBufferColorDiffuse;
	IPTGraphicShaderResourceView *pRadiancePrevious;
};

struct PTGraphicLightAmbient_Output
{
	IPTGraphicUnorderedAccessView *pRadianceNow;
};

struct IPTGraphicLightAmbient
{
	virtual PTGraphicLightAmbient_Status Render(IPTGraphicDevice *pDevice, PTGraphicLightAmbient_Iutput *pInput, PTGraphicLightAmbient_Output *pOutput) = 0;
};

#endif